﻿// COPYRIGHT (C) Markeluo ALL RIGHTS RESERVED. 
// GITEE: https://gitee.com/luowanli/AntdUI 
// QQ: 563944808

namespace IMES.VO
{
    public class MenuVO : AntdUI.NotifyProperty
    {
        private long _Id;
        private string _No=string.Empty;
        /// <summary>
        /// 菜单代码 
        ///</summary>
        private string _Name = string.Empty;
        /// <summary>
        /// 菜单名称 
        ///</summary>
        private string _Title = string.Empty;
        /// <summary>
        /// 可用状态 
        ///</summary>
        private bool? _Usable;
        /// <summary>
        /// 上级菜单编号 
        ///</summary>
        private string _ParentNo = string.Empty;
        /// <summary>
        /// 序号 
        ///</summary>
        private int? _SortID;
        /// <summary>
        /// 层级 
        ///</summary>
        private int? _Level;
        /// <summary>
        /// 图标索引 
        ///</summary>
        private int? _ImageIndex;
        /// <summary>
        ///  
        ///</summary>
        private string _Component = string.Empty;
        /// <summary>
        /// 备注
        /// </summary>
        private string? _Remark;
        /// <summary>
        /// 子节点
        /// </summary>
        private List<MenuVO> _ChildNodes=new List<MenuVO>();

        public long Id { get => _Id; set => _Id = value; }
        public string No
        {
            get => _No; 
            set
            {
                if (_No == value) return;
                _No = value;
                OnPropertyChanged();
            }
        }
        public string Name { 
            get => _Name;
            set
            {
                if (_Name == value) return;
                _Name = value;
                OnPropertyChanged();
            }
        }
        public string Title { 
            get => _Title;
            set
            {
                if (_Title == value) return;
                _Title = value;
                OnPropertyChanged();
            }
        }
        public bool? Usable {
            get => _Usable;
            set
            {
                if (_Usable == value) return;
                _Usable = value;
                OnPropertyChanged();
            }
        }
        public string ParentNo { 
            get => _ParentNo;
            set
            {
                if (_ParentNo == value) return;
                _ParentNo = value;
                OnPropertyChanged();
            }
        }
        public int? SortID { 
            get => _SortID;
            set
            {
                if (_SortID == value) return;
                _SortID = value;
                OnPropertyChanged();
            }
        }
        public int? Level {
            get => _Level;
            set
            {
                if (_Level == value) return;
                _Level = value;
                OnPropertyChanged();
            }
        }
        public int? ImageIndex { 
            get => _ImageIndex; 
            set
            {
                if (_ImageIndex == value) return;
                _ImageIndex = value;
                OnPropertyChanged();
            }
        }
        public string Component { get => _Component; set => _Component = value; }
        public string? Remark { 
            get => _Remark;
            set
            {
                if (_Remark == value) return;
                _Remark = value;
                OnPropertyChanged();
            }
        }
        public List<MenuVO> ChildNodes { 
            get => _ChildNodes;
            set
            {
                if (_ChildNodes == value) return;
                _ChildNodes = value;
                OnPropertyChanged();
            }
        }
    }
}
